package com.rm.zeyou.service;

import com.rm.zeyou.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rm.zeyou.response.ApiRestResponse;
import com.rm.zeyou.vo.request.UpdateUserVo;
import com.rm.zeyou.vo.request.UserBindTelVo;
import com.rm.zeyou.vo.request.UserCodeLoginVo;
import com.rm.zeyou.vo.request.UserWXLoginVo;
import com.rm.zeyou.vo.response.PersonalCenterResponseVo;

import java.util.Map;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author YanYang
 * @since 2025-03-12 15:55:09
 */
public interface UserService extends IService<User> {
    ApiRestResponse<Map<String,String>> userCodeLogin(UserCodeLoginVo loginVo);

    ApiRestResponse<Map<String, String>> userWXLogin(UserWXLoginVo loginVo);

    ApiRestResponse userAPPWXLogin(UserWXLoginVo loginVo);

    ApiRestResponse<Integer> updateUser(User userId, UpdateUserVo updateVo);

    ApiRestResponse<Void> userLoginOut(Long userId);

    ApiRestResponse<PersonalCenterResponseVo> personalCenter(User user);

    ApiRestResponse<Integer> userBindTel(User id, UserBindTelVo bindTelVo);

    ApiRestResponse userBindWx(User user, UserBindTelVo bindTelVo);

    ApiRestResponse userAPPBindWx(User user, UserBindTelVo bindTelVo);

    void checkCode(String tel, String code, String type);


}
